// 该文件用于创建Vuex中最为核心的store

//引入Vue
import Vue from 'vue'
// 引入vuex
import Vuex from 'vuex'
// 使用vuex插件
Vue.use(Vuex)

// 准备actions——用于响应组件中的动作
const actions = {
	// jia:function(context,value){
	// 	// console.log('1',context,value)
	// 	context.commit('JIA',value)
	// },
	// jian:function(context,value){
	// 	// console.log('1',context,value)
	// 	context.commit('JIAN',value)
	// },
	jiaOdd(context,value){
		console.log('actions中的jiaOdd被调用',context)
		if(context.state.sum%2){
			context.commit('JIA',value)
		}
	},
	jiaWait(context,value){
		console.log('actions中的jiaWait被调用',value)
		setTimeout(()=>{
			context.commit('JIA',value)
		},500)
	},
};
// 准备mutations——用于操作数据(state)
const mutations = {
	JIA(state,value){
		console.log('mutations中的JIA被调用')
		state.sum += value
	},
	JIAN(state,value){
		console.log('mutations中的JIAN被调用')
		state.sum -= value
	}
};
// 准备state——用于存储数据
const state = {
	// 当前的和
	sum:0,
	school:'尚硅谷',
	subject:'前端'
};
const getters = {
	bigSum(state){
		return state.sum*10
	}
}

// 创建store 暴露store
export default new Vuex.Store({
	// 重名可简写
	actions,
	mutations,
	state,
	getters,
})